/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.conexao;

import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author luiz.perez
 */
public class ConnectionHandler
{
    Connection conn=null;
    ResultSet rst=null;
    PreparedStatement stmt=null;
    
    String driver = "com.ibm.db2.jcc.DB2Driver";
    
    /*
     * Cria a conexao com o banco de dados jdbc:db2://CAS382756BIBS29.senacsp.edu.br:50000/TESTE.
     * Deve ser utilizada antes de todas as chamadas que utilizem o banco de dados.
     */
    public Connection Connect()
    {
        try {
            Class.forName(driver);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(ConnectionHandler.class.getName()).log(Level.SEVERE, null, ex);
            System.out.println("Inclua o claspath de onde o Driver do DBS está localizado");
        }
        System.out.println("Driver carregado com sucesso.");
        try {
            conn = DriverManager.getConnection("jdbc:db2://CAS382756BIBS29.senacsp.edu.br:50000/TESTE","admindb2","casadaarvore");
        } catch (SQLException ex) {
            Logger.getLogger(ConnectionHandler.class.getName()).log(Level.SEVERE, null, ex);
        }
        if (conn != null)
        {
            System.out.println("Banco de dados conectado.");
        }
        else
        {
            System.out.println("Conexao com banco de dados falhou.");
        }
        return conn;
    }
    
    /*
     * Salva as mudancas e fecha a conexao com o banco de dados.
     * Deve ser chamada depois de chamadas que alterem o banco de dados.
     */
    public boolean Disconnect()
    {
        try {
            conn.commit();
        } catch (SQLException ex) {
            Logger.getLogger(ConnectionHandler.class.getName()).log(Level.SEVERE, null, ex);
            System.out.println("Nao foi possivel escrever as operacoes na(s) tabela(s).");
            return false;
        }
        try {
            conn.close();
        } catch (SQLException ex) {
            Logger.getLogger(ConnectionHandler.class.getName()).log(Level.SEVERE, null, ex);
            System.out.println("Nao foi possivel fechar a conxao com o banco de dados.");
            return false;
        }
        return true;
    }
 }
